package ca.uhn.fhir.narrative.template.filters;
import java.util.ArrayList;
import java.util.List;
class Map extends Filter {
/*
* map(input, property)
*
* map/collect on a given property
*/
@Override
public Object apply(Object value, Object... params) {
if (value == null) {
return "";
}
List<Object> list = new ArrayList<Object>();
Object[] array = super.asArray(value);
String key = super.asString(super.get(0, params));
for (Object obj : array) {
java.util.Map map = (java.util.Map) obj;
Object val = map.get(key);
if (val != null) {
list.add(val);
}
}
return list.toArray(new Object[list.size()]);
}
}